package com.openlogic.common.logic.func.enums;

/**
 * @ClassName: FuncLibTypeEnums
 * @Description: 规则函数库类型枚举
 * @author weiyongpeng
 * @date 2024年7月23日 上午9:48:53
 */
public enum FuncLibTypeEnums {

	MATH("math", "系统数学函数") {

		@Override
		public String getFuncDescByCode() {
			return "系统数学函数";
		}
	},
	CUS_MATH("cus_math", "数学函数") {

		@Override
		public String getFuncDescByCode() {
			return "数学函数";
		}
	},
	CUS_STRING("cus_string", "文字函数") {
		@Override
		public String getFuncDescByCode() {
			return "文字函数";
		}
	},
	CUS_COLLECTION("cus_collection", "集合函数") {
		@Override
		public String getFuncDescByCode() {
			return "集合函数";
		}
	},
	CUS_STATIS("cus_statis", "统计函数") {
		@Override
		public String getFuncDescByCode() {
			return "统计函数";
		}
	},
	DATE("date", "时间函数") {
		@Override
		public String getFuncDescByCode() {
			return "时间函数";
		}
	};

	private String funcTypeCode;
	private String funcTypeDesc;

	/**
	 * 描述：根据函数库编码获取名称描述
	 * 
	 * @Title: getFuncDescByCode
	 * @param code
	 * @return
	 * @author weiyongpeng
	 * @date 2024年7月23日 上午9:53:22
	 */
	public abstract String getFuncDescByCode();

	public String getFuncTypeCode() {
		return funcTypeCode;
	}

	public void setFuncTypeCode(String funcTypeCode) {
		this.funcTypeCode = funcTypeCode;
	}

	public String getFuncTypeDesc() {
		return funcTypeDesc;
	}

	public void setFuncTypeDesc(String funcTypeDesc) {
		this.funcTypeDesc = funcTypeDesc;
	}

	private FuncLibTypeEnums(String funcTypeCode, String funcTypeDesc) {
		this.funcTypeCode = funcTypeCode;
		this.funcTypeDesc = funcTypeDesc;
	}

}
